![]() |
|||
![]()
|
![]() |
![]() Click Here! |
![]() |
Program and Programmer Portability Most large corporations use a mix of computing platforms. Although a common application programming interface (API) can reduce the cost of corporate applications in heterogeneous computing environments, it is inadequate for the development of network-centric applications. Consequently, many programmers have given up on them, preferring instead to specialize in developing applications for one platform or another. With a ported Java runtime environment for every platform architecture and a rich set of class libraries, programmers are finding it easier to develop applications that can run on multiple platforms. Applications written with Java are platform-independent because the code is entirely portable. The Java virtual machine is based on a well-defined porting layer, primarily based on the Portable Operating System Interface for UNIX (POSIX) interface standard, an industry standard definition of a portable system interface. Porting to new architectures is a relatively straightforward task. Not only are the programs portable, the programmers are portable as well. This means the corporate applications group can develop programs for any architecture. Because the client and server parts of an application can both be written in the same language, there no longer needs to be special groups scattered throughout the enterprise, such as the Sun Solaris C++ group in research, the PC Visual Basic programmers in document distribution, or the GNU developers working on special projects. Java requires only a corporate applications group. Development Costs Traditionally, the cost of developing applications on a workstation has been high. Although the overall hardware and long-term maintenance costs of a Sun Solaris workstation, for example, are very attractive to big businesses, the additional cost of software development with C++ is prohibitive to all but the largest companies. The use of the corporate intranet and Java-based applications development tools can lower the cost of corporate computing considerably. Java tools are priced at affordable PC levels. The success of the Internet has leveled the pricing of software to the point where software for high-powered UNIX workstations costs nearly the same as versions that run on PCS. This is a pricing trend that should become more prevalent with Java-based software tools. With the growing public-domain and shareware tools community that routinely include source code, corporate programmers have a rich selection of tools from which to choose. The introduction of Java has spawned a whole new market for tools that enable programmers and non-programmers to create, test, deploy, and document network-aware applications. Program Support and Maintenance An ongoing requirement with corporate software is the demand for program support. Although Java is not a panacea, it has several features that make certain tasks easier for programmers. Javadoc is a component of the Java Development Kit (JDK). If programmers use certain commenting conventions in their Java source code, Javadoc will scan the code for these comments and create HTML pages that can be viewed with a browser. This eases the job of creating programmer documentation. With regard to maintenance, Java applications can run on the server. If there are changes to the applications, they are made at the server. Programmers and network administrators do not have to worry about distributing changes to the PC. The next time users log in, they automatically get the most current applet. With Java, network administrators do not have to worry about runtime licenses or the distribution of dynamic-link libraries (DLLs) to all the PC clients. Technical Training A primary goal in the development of Java was to make it a simple language that could be programmed without extensive training and would be roughly attuned to current software practice. The fundamental concepts of the Java language can be grasped quickly, allowing programmers to be productive from the start. Making the Java language a minimal subset of C++ while simultaneously retaining its look and feel means that programmers can migrate to the Java language easily and be productive quickly. The Java language learning curve can be as quick as a couple of days. Programmers with knowledge of C++ who have some experience programming with a graphical user interface (GUI) library will be able to learn it quickly. If a programmer does not know C++ but knows another object-oriented programming language, it might take longer to learn the essentials of Java, but it is not necessary to learn C++ before learning Java. If a programmer does not know any object-oriented language, the essentials of object-oriented technology must be learned before anything else. This knowledge can then be applied to Java. New gateway software is designed to aid applications developers by translating C++ components into Java automatically. The gateway software operates during the build stage of an application, enabling a Java-based program to recognize C++ components and automatically generate a Java interface. Not only will this kind of software greatly reduce the Java learning curve, it will speed the migration of legacy applications to network-aware Java applications. JAVA FOR NON-PROGRAMMERS There are now Java development tools designed for Web authors instead of programmers. These tools provide a visual interface builder for Java that automatically generates Java code, allowing applications to be created simply by dragging and dropping typical controls such as buttons, list boxes, and menus. The generated source code can be used as provided or modified. Other products allow users to build Java-based animations for Web pages. Users can build their own or customize animations selected from a library that comes with the development kit. Visual authoring tools for creating Java applets allow users to create media-rich Java applets without the need for programming or scripting. Users work in a what-you-see-is-what-you-get (WYSIWYG) page-layout environment, visually specifying live objects through a series of drag-and-drop actions.
|
![]() |
|
Use of this site is subject certain Terms & Conditions. Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details. |